Digital wallets, also referred to as payment apps, such as Microsoft Wallet™, Apple Pay®, and Android Pay®, among others, are a convenient and commonly-used mechanism for submitting payments online. These types of payment methods may utilize protocols and application programming interfaces (APIs) developed by the World Wide Web Consortium (W3C®). As an example, when a user desires to make a purchase on a website using a mobile device, a computer, and so forth, the user doesn't necessarily want to enter credit card information into the website. However, if the user has a digital wallet account that stores the user's credit card information, and the website provides a payment option for that particular digital wallet, then the user can utilize the digital wallet to provide the payment information for the purchase. When the user selects the digital wallet payment option (such as by clicking on an icon on the website), the vendor's application may utilize payment request API calls which generate a payment request object containing information such as payment method identifiers and details about the transaction. The vendor application may then utilize an API call to trigger display of the digital wallet. A digital wallet interface is launched on the user device, e.g., a window opens which presents the digital wallet user interface, providing the user the option to log in, or to continue if already logged in. The digital wallet user interface, which is an application running locally on the client device, communicates with the website' s application (e.g., a javascript application) that is also running locally on the client device. The digital wallet interface may display information such as the user's payment instruments and shipping addresses that are on file with digital wallet service. The wallet also displays the payment request, e.g., the vendor-supplied information from the payment request object, such as an identification of accepted payment methods, potential shipping methods, and so forth. The user can select a payment method, shipping method, and so forth, but the digital wallet does not have the ability to calculate a payment amount for the transaction. That functionality lies with the product provider's application. The wallet may utilize API calls to communicate the user's selections to the product provider's application, which determines the total amount of the purchase based on the selections (e.g., different shipping addresses or shipping methods may incur different shipping costs) and provides the total amount to the digital wallet service, which presents the amount to the user. When the user confirms the transaction with the digital wallet service, the digital wallet service provides a secure payment token to the product provider's application running locally on the client. The product provider's application then completes the transaction utilizing the payment token, notifying the product provider's back end of the details of the transaction so that processing of the user's order (or whatever type of transaction) can take place. A key portion of the above-described process is the communication that is required between the digital wallet application and the product provider's application. The required communication is possible because both applications are running locally on the client device.